-
Notifications
You must be signed in to change notification settings - Fork 12
Update the CDM halo construction in HaloMerger test problem #134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: psidm
Are you sure you want to change the base?
Conversation
|
Since these two parts are small and both about the CDM halo construction, I implemented them in the same branch. Therefore, I have modified this PR and changed the title and description. |
example/test_problem/ELBDM/HaloMerger/Make_ParCloud_ExtPotTable.py
Outdated
Show resolved
Hide resolved
hsinhaoHHuang
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ChunYen-Chen Thank you so much for your review. I have updated it accordingly.
example/test_problem/ELBDM/HaloMerger/Make_ParCloud_ExtPotTable.py
Outdated
Show resolved
Hide resolved
|
Updated to the latest psidm branch. |
[Part I.] Support adding the external potential for CDM halo construction
Why
The CDM halo is constructed using the
Par_EquilibriumIC, which can construct the particle cloud with its velocity dispersion taking the external potential into account. Previously, in the HaloMerger test problem, this functionality was forced to be turned off internally because we didn't need it. However, in future applications (e.g., putting a particle cloud inside an FDM halo), we may need to construct the particle cloud in equilibrium with an external potential.Changes
HaloMerger_ParCloud_?_BuiltWithExtPotinInput__TestProb_ParCloudto decide whether to consider the external potential for constructing the particle cloud.HaloMerger_ParCloud_?_ExtPot_Filenameto provide the external potential table ifHaloMerger_ParCloud_?_BuiltWithExtPotis on.Make_ParCloud_ExtPotTable.py, to generate the example external potential table.Input__TestProb).Verifications
Setups
python3 Make_ParCloud_ExtPotTable.pyOPT__EXT_POT = 1inInput__Parameter.Input__TestProbInput__TestProb_ParCloudResults
OPT__EXT_POT = 1(left), and it will spread out ifOPT__EXT_POT = 0(right).Issues
The current version of
Par_EquilibriumIChas some limitations (e.g., the bins of the external potential table have to be the same as the density profile table) and potential bugs with the effect of external potential.[Part II.] Change the CDM halo density profile
Why
The CDM halo in the
HaloMergertest problem is constructed from the given density profile.Previously, we used the formula
rho_0 * ( x**(-gamma) ) * ( ( 1.0+(x**alpha) )**( (gamma-beta)/alpha ) )to fit the FDM halo without a soliton and construct the CDM halo.However, the density distribution of the CDM halo looks more extended than the FDM halo.
Although the differences are in the large-radius and small-density regions, it still makes the comparison of simulation results between CDM and FDM less straightforward.
Changes
Therefore, in this PR, we change the default CDM density profile to the density profile extracted from the FDM simulations.
In this way, the density distributions (especially at the large radius) look almost the same.
Density Projections
Density Profiles